Large amounts of digital data are generated and stored every day. Whether in the form of images and videos uploaded to a social media website, reports produced by analysis servers, or electronic communication, digital data is typically written to and read from some form of digital storage medium. Many different types of storage media exist, all with different performance characteristics. Hard drives may return sequential reads faster than random reads, while flash storage may read quickly but write slowly, and caches may return results almost instantaneously on a hit. In some storage systems, all data may be initially written to the cache before being copied over to slower storage media, allowing for high performance in situations where the possibility of minor data loss isn't catastrophic.
Unfortunately, traditional storage systems may be subject to the noisy neighbor problem, where a workload that writes a disproportionate amount of data to the storage system compared to other workloads also occupies a disproportionate amount of the cache. In some cases, the workload may write new data more quickly than the cache flushes old data, causing the cache to fill up over time with more and more data from the workload and preventing other workloads from writing data to the cache. Accordingly, the instant disclosure describes improved systems and methods for distributing cache space.